local progressInfo = [[
--- y: Done n: Not Finished d: Deleted ---
--- Cocos Class-----
ccColor4	390	y
	a	3	y
	r	2	y
	b	2	y
	g	2	y
ccColor3	249	y
	r	2	y
	b	2	y
	g	2	y
CCDirector	241	n
	winSize	179	d
	schedule	97	y
	unschedule	65	y
	scheduler	30	y
	currentScene	8	y
	eclapsedInterval	8	n
	pause	6	n
	notificationNode	6	n
	sceneStackSize	4	y
	popScene	3	y
	replaceScene	2	y
	stop	1	n
	resume	1	n
	updateInterval	1	n
	drawInterval	1	n
	run	1	y
	displayStats	1	n
	numberOfDraws	1	n
CCSize	214	y
	height	885	y
	width	849	y
	zero	397	y
CCMenu	146	n
	addChild	1138	n
	enabled	318	n
	runAction	206	n
	DefaultHandlerPriority	61	n
	alignItems	43	n
	alignItemsVertically	6	n
	alignItemsHorizontally	1	n
	moveAndCullItems	1	n
CCDrawNode	132	y
	drawPolygon	84	y
	drawDot	52	y
	drawSegment	26	y
	clear	4	y
CCNode	129	n
	addChild	1138	y
	height	885	y
	width	849	y
	visible	587	y
	slot	571	y
	position	533	y
	emit	399	y
	positionX	392	y
	positionY	381	y
	children	261	y
	contentSize	247	y
	opacity	241	y
	color	236	y
	gslot	219	y
	anchor	214	y
	scaleX	212	y
	runAction	206	n
	scaleY	202	y
	parent	170	y
	angle	109	y
	schedule	97	y
	removeChild	92	y
	unschedule	65	y
	convertToNodeSpace	60	y
	cascadeOpacity	59	y
	stopAllActions	45	n
	transformTarget	40	y
	cascadeColor	39	y
	eachChild	32	y
	data	31	y
	scheduler	30	y
	skewY	25	y
	skewX	25	y
	removeAllChildrenWithCleanup	23	y
	cleanup	18	y
	convertToWorldSpace	17	y
	tag	15	y
	zOrder	9	y
	stopAction	8	n
	scheduled	7	y
	numberOfRunningActions	6	n
	boundingBox	5	y
	getChildByTag	5	y
	perform	3	n
	addTo	3	y
	removeChildByTag	2	y
	running	2	y
CCTouch	100	y
	delta	52	y
	location	46	y
	preLocation	18	y
	id	7	y
CCArray	100	y
	insert	214	y
	remove	52	y
	index	32	y
	each	12	y
	get	8	y
	last	7	y
	count	7	y
	set	7	y
	exchange	5	y
	clear	4	y
	removeLast	3	y
	add	2	y
	reverse	1	y
	contains	1	y
CCScene	63	y
	addChild	1138	y
	fade	13	d
	crossFade	8	d
	move	8	d
CCRect	62	y
	height	885	y
	width	849	y
	y	482	y
	x	448	y
	zero	397	y
	origin	49	y
	size	22	y
	containsPoint	21	y
	bottom	20	y
	left	20	y
	right	19	y
	top	15	y
	intersectsRect	10	y
	set	7	y
	centerY	2	y
	centerX	2	y
CCLayer	37	y
	addChild	1138	y
	slot	571	y
	touchEnabled	214	y
	touchPriority	143	y
	schedule	97	y
	swallowTouches	73	y
	unschedule	65	y
	convertToNodeSpace	60	y
	multiTouches	4	y
	keypadEnabled	1	y
CCSprite	29	y
	texture	144	y
	textureRect	14	y
	blendFunc	3	y
CCLayerColor	25	d
	blendFunc	3	d
	resetColor	3	d
CCMenuItem	24	y
	addChild	1138	y
	slot	571	y
	enabled	318	y
CCClipNode	11	y
	stencil	4	y
CCUserDefault	10	n
	get	8	n
	set	7	n
	filePath	2	n
ccBlendFunc	9	y
	Zero	3	y
	One	3	y
CCDictionary	9	n
	each	13	n
	count	11	n
	get	8	n
	set	7	n
	clear	4	n
	keys	3	n
CCObject	9	y
	count	11	y
	id	7	y
	callRefCount	2	y
	luaRefCount	2	y
	ref	1	y
	maxCount	1	y
	maxLuaRefCount	1	y
	maxCallRefCount	1	y
CCLabelBMFont	8	y
	text	247	y
	texture	144	y
	colorText	19	y
	getChar	3	y
	AutomaticWidth	2	y
	horizontalAlignment	1	y
CCRenderTarget	8	y
	save	13	y
	endDraw	8	y
	draw	8	y
	beginDraw	8	y
CCTextAlign	7	y
	HLeft	5	y
	HCenter	1	y
	HRight	1	y
CCTargetPlatform	6	y
	Iphone	2	y
	Ipad	2	y
	MacOS	1	y
	Windows	1	y
CCApplication	6	y
	targetPlatform	6	y
CCKeyboard	6	n
	isKeyPressed	6	n
CCScheduler	5	y
	schedule	97	y
	unschedule	65	y
	timeScale	4	y
CCTextFieldTTF	4	n
	text	247	n
	attachWithIME	12	n
	detachWithIME	12	n
	placeHolder	8	n
	colorPlaceHolder	1	n
CCOrientation	3	n
	Up	9	n
	Down	8	n
	Right	6	n
	Left	6	n
CCView	2	n
	scaleX	212	d
	scaleY	202	d
	setDesignResolution	1	n
	ExactFit	1	n
CCEase	2	n
	sineInOut	2	n
CCGrid	1	n
	stop	1	n
	twirl	1	n
CCProgressTimer	1	n
	type	83	n
	sprite	76	n
	reverseDirection	2	n
Pool	4	n
	collect	1	n
	size	4	n
Texture	24	y
	unload	12	y
	removeUnused	7	y
	loadAsync	5	y
	add	4	y
	load	2	y
Particle	2	n
	unload	12	n
	removeUnused	7	n
	loadAsync	5	n
	load	2	n
Model	1	n
	save	1	n
	unload	1	n
	loadAsync	1	n
	loadData	1	n
	getClipFile	1	n
	getLookNames	1	n
	getClipNames	1	n
	getAnimationNames	1	n
Body	1	n
	load	1	n
	unload	1	n
Effect	1	n
	load	1	n
----- Dorothy Class-----
oVec2	1861	y
	y	482	y
	x	448	y
	zero	397	y
	angle	109	y
	length	25	y
	normalize	17	y
	distance	14	y
	clamp	1	y
oEase	394	n
	OutQuad	177	n
	OutBack	116	n
	InBack	53	n
	OutElastic	8	n
	Linear	6	n
	OutExpo	6	n
	func	5	n
	InQuad	2	n
	InSine	1	n
	OutSine	1	n
oContent	259	y
	exist	90	y
	remove	53	y
	saveToFile	42	y
	getEntries	36	y
	mkdir	29	y
	writablePath	12	y
	loadFile	9	y
	addSearchPath	4	y
	copyAsync	4	y
	removeSearchPath	2	y
	loadFileAsync	1	y
oLine	146	y
	set	7	y
oCache	103	n
	Texture	24	n
	Model	23	n
	Clip	20	n
	Effect	10	n
	removeUnused	7	n
	Animation	5	n
	loadAsync	5	n
	clear	4	n
	Pool	3	n
	Particle	2	n
oBodyDef	49	n
	position	533	n
	angle	109	n
	face	85	n
	type	83	n
	angularDamping	15	n
	fixedRotation	15	n
	gravityScale	15	n
	isBullet	15	n
	linearDamping	15	n
	loop	14	n
	attachPolygon	14	n
	Dynamic	12	n
	facePos	12	n
	attachPolygonSensor	10	n
	attachCircle	8	n
	circle	7	n
	attachLoop	6	n
	attachChain	5	n
	attachCircleSensor	5	n
	Static	5	n
	polygon	5	n
	Kinematic	2	n
	chain	1	n
oRoutine	28	y
	remove	53	y
	start	13	y
	clear	4	y
	stop	1	y
oJointDef	20	n
	position	533	n
	angle	109	n
	distance	14	n
	rope	4	n
	pulley	3	n
	spring	3	n
	revolute	3	n
	weld	3	n
	prismatic	3	n
	gear	3	n
	center	2	n
	friction	2	n
	wheel	1	n
oBody	20	n
	bodyDef	171	n
	world	41	n
	group	35	n
	owner	17	n
	angularDamping	15	n
	linearDamping	15	n
	attach	5	n
	attachSensor	3	n
	sensor	3	n
	angularRate	2	n
	receivingContact	1	n
	getSensorByTag	1	n
	destroy	1	n
	mass	1	n
oData	17	n
	GroupTerrain	5	n
	GroupDetect	3	n
	GroupHide	3	n
	GroupDetectPlayer	3	n
	apply	2	n
	isTerrain	1	n
oJoint	14	n
	world	41	n
	distance	14	n
	move	8	n
	rope	4	n
	revolute	3	n
	weld	3	n
	gear	3	n
	pulley	3	n
	prismatic	3	n
	spring	3	n
	friction	2	n
	destroy	1	n
	wheel	1	n
oAI	11	n
	self	7	n
	clear	4	n
	add	2	n
oModel	9	n
	look	31	n
	duration	21	n
	loop	14	n
	reset	14	n
	faceRight	7	n
	time	6	n
	pause	6	n
	speed	6	n
	play	4	n
	playing	2	n
	resume	1	n
	getChildByName	1	n
	recovery	1	n
	stop	1	n
oWorld	6	n
	gravity	14	n
	setShouldContact	10	n
	showDebug	9	n
	setIterations	5	n
	query	5	n
	getShouldContact	1	n
oPlatformWorld	5	n
	camera	34	n
	UILayer	14	n
	swapLayer	6	n
	setLayerOffset	6	n
	getLayer	6	n
	setLayerRatio	2	n
	removeLayer	1	n
oUnit	4	n
	height	885	n
	width	849	n
	remove	53	n
	unitDef	20	n
	model	19	n
	start	13	n
	get	8	n
	move	8	n
	faceRight	7	n
	set	7	n
	jump	7	n
	clear	4	n
	reflexArc	4	n
	isDoing	3	n
	detectDistance	1	n
	stop	1	n
	moveSpeed	1	n
	maxHp	1	n
	currentAction	1	n
	sensity	1	n
oEffect	4	n
	start	13	n
	autoRemove	3	n
	playing	2	n
	update	2	n
	stop	1	n
oAction	3	n
	name	134	n
	owner	17	n
	clear	4	n
	add	2	n
	doing	2	n
	recovery	1	n
	priority	1	n
	reaction	1	n
oUnitDef	2	n
	bodyDef	171	n
	name	134	n
	scale	71	n
	size	22	n
	model	19	n
	tag	15	n
	move	8	n
	jump	7	n
	reflexArc	4	n
	static	2	n
	setActions	2	n
	restitution	2	n
	friction	2	n
	density	2	n
	detectDistance	1	n
	maxHp	1	n
	sensity	1	n
oNode3D	1	n
	angleX	4	n
----- Other Class-----
math	430	d
	floor	168	d
	ceil	73	d
	max	53	d
	min	44	d
	cos	23	d
	sin	23	d
	pi	16	d
	abs	16	d
	rad	6	d
	acos	3	d
	atan2	3	d
	pow	2	d
	deg	1	d
	tan	1	d
	huge	1	d
table	319	d
	insert	217	d
	remove	53	d
	concat	26	d
	sort	23	d
string	90	d
	format	60	d
	gsub	43	d
	match	10	d
	char	8	d
	lower	8	d
	find	6	d
	len	4	d
	rep	3	d
	upper	3	d
	dump	2	d
	gmatch	1	d
	reverse	1	d
	sub	1	d
tolua	26	y
	type	83	y
	class	64	y
package	8	d
	path	39	d
	loaded	8	d
debug	7	y
	getmetatable	10	d
	debug	7	d
	getinfo	7	d
	getlocal	6	d
	setfenv	3	d
	setmetatable	1	d
	traceback	1	y
io	1	d
	type	83	d
	output	47	d
	input	30	d
	lines	3	d
	close	2	d
	read	1	d
	open	1	d
----- Cocos Function-----
CCSequence	181	n
CCLabelTTF	98	y
CCCall	77	n
CCDelay	65	n
CCHide	50	n
CCSpawn	44	n
CCShow	22	n
cclog	9	y
CCRepeatForever	7	n
CCProgress	2	n
CCRepeat	2	n
----- Dorothy Function-----
oOpacity	221	n
oScale	194	n
oPos	83	n
once	50	y
oCon	9	n
oAct	6	n
oRotate	4	n
----- Other Function-----
require	2168	y
tostring	448	d
emit	399	y
property	145	y
pairs	126	d
ipairs	108	d
sleep	97	y
type	93	d
print	75	y
Dorothy	69	y
using	60	y
thread	41	y
setmetatable	32	d
unpack	25	d
rawget	18	d
load	17	y
select	17	d
module	13	d
dofile	12	y
rawset	12	d
getmetatable	10	d
tonumber	10	d
error	10	d
wait	6	y
seconds	5	y
loadfile	5	y
setfenv	3	d
loadstring	3	y
loop	2	y
ubox	2	y
assert	2	d
next	1	d
xmlToLua	1	n
]]

local cocosTotal = 0
local cocosCount = 0
local otherTotal = 0
local otherCount = 0
local isCocos = true
for line in progressInfo:gmatch("([^\n]+)\n") do
	if not line:match("^%-") then
		if not line:match("d$") then
			if isCocos then cocosTotal = cocosTotal + 1
			else otherTotal = otherTotal + 1 end
			if not line:match("n$") then
				if isCocos then cocosCount = cocosCount + 1
				else otherCount = otherCount + 1 end
			end
		end
	else
		isCocos = line:match("Cocos") ~= nil
	end
end
local result = string.format("```\nRedo: %d/%d %.2f%%\n```\n",cocosCount,cocosTotal,cocosCount*100/cocosTotal)
result = result..string.format("```\nShip: %d/%d %.2f%%\n```\n",otherCount,otherTotal,otherCount*100/otherTotal)

local function displayProgress(percent)
	local length = 15
	local n = math.floor(percent*length+0.5)
	return string.format("[ %s%s ] %.2f%%", string.rep("#",n), string.rep(" ",length-n), percent*100)
end
result = result..string.format("```\nTotal: %s\n```\n",displayProgress((otherCount+cocosCount)/(cocosTotal+otherTotal)))

local file = io.open("../README.md","r")
local readme = file:read("*a")
file:close()
readme = readme:gsub("##当前进度.*","##当前进度  \n")
readme = readme..result
file = io.open("../README.md","w+")
file:write(readme)
file:close()
